Комп`ютерна графіка

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Введення

Існує два способи представлення графічних зображень: растровий і векторний. Відповідно розрізняють растровий і векторний формати графічних файлів, що містять інформацію графічного зображення.

Растрові формати добре підходять для зображенні зі складними гамами кольорів, відтінків і форм. Це такі зображення, як фотографії, малюнки, відскановані дані. Векторні формати добре застосовні для креслень і зображенні з простими формами, тінями і забарвленням.

Окремим предметом вважається тривимірна (3D) графіка, що вивчає прийоми і методи побудови об'ємних моделей об'єктів у віртуальному просторі. Як правило, в ній поєднуються векторний і растровий способи формування зображень.

Растрова графіка

Найбільш просто реалізувати растрове представлення зображення. Растр, плі растровий масив (bitmap), представляє сукупність бітів, розташованих па сітчастому полі-канві. Біт може бути включений (одиничне стан) або вимкнений (кульове стан). Стани бітів можна використовувати для представлення чорного чи білого кольорів, так що, з'єднавши на канві кілька бітів, можна створити зображення з чорних і білих пікселів.

Растрове зображення нагадує аркуш картатій паперу, на якому кожна клітинка зафарбована чорним або білим кольором, і сукупності формуючи малюнок, як показано на рис. 1.

Рис. 1. Растрове зображення

Основним елементом растрового зображення є піксел (pixel - Picture Element). Під цим терміном часто розуміють кілька різних понять: окремий елемент растрового зображення, окрема точка на екрані монітора, окрема точка на зображенні, надрукованому принтером. Тому на практиці ці поняття часто позначають так:

  • піксель - окремий елемент растрового зображення;

  • відеопіксел - елемент зображення на екрані монітора;

  • точка - окрема точка, створювана принтером або фотоскладальних автоматом.

Колір кожного пікселя растрового зображення - чорний, білий, сірий або будь-який

із спектру - запам'ятовується за допомогою комбінації бітів. Чим більше бітів використовується для цього, тим більша кількість відтінків кольорів для кожного пікселя можна отримати. Число бітів, використовуваних комп'ютером для зберігання інформації про кожному пікселі, називається бітової глибиною або глибиною кольору.

Найбільш простий тип растрового зображення складається з пікселів, які мають два можливих кольори - чорний і білий. Для зберігання такого типу пікселів потрібно один біт в пам'яті комп'ютера, тому зображення, що складаються з пікселів такого виду, називаються 1-бітовими зображеннями. Для відображення більшої кількості кольорів використовується більше бітів інформації. Число можливих і доступних кольорів або градацій сірого кольору кожного пікселя дорівнює двом в ступені, що дорівнює кількості бітів, що відводяться для кожного пікселя. 24 біта забезпечують більше 16 мільйонів квітів. Про 24-бітових зображеннях часто говорять як про зображення з природними кольорами, так як такої кількості квітів більше ніж достатньо, щоб відобразити всілякі кольори, які здатний розрізняти людське око.

Основний недолік растрової графіки полягає в тому, що кожне зображення для свого зберігання вимагає велику кількість пам'яті. Прості растрові картинки, такі як копії екрану комп'ютера або чорно-білі зображення, займають до декількох сотень кілобайт пам'яті. Деталізовані високоякісні малюнки, наприклад, зроблені за допомогою сканерів з високою роздільною здатністю, займають уже десятки мегабайтів. Для вирішення проблеми обробки об'ємних (і сенсі витрат пам'яті) зображень використовуються два основних способи:

  • збільшення пам'яті комп'ютера;

  • стиснення зображень.

Іншим недоліком растрового представлення зображень є зниження якості зображень при масштабуванні.

Векторна графіка

Векторне представлення, на відміну від растрової графіки, визначає опис зображення у вигляді ліній і фігур, можливо, з зафарбованими областями, заповнюваними суцільним або градієнтним кольором. Хоча це може здатися більш складним, ніж використання растрових масивів, але для багатьох видів зображень використання математичних описів є більш простим способом.

У векторної графіки для опису об'єктів використовуються комбінації комп'ютерних команд і математичних формул для опису об'єктів. Це дозволяє різним пристроям комп'ютера, таким як монітор і принтер, при малюванні цих об'єктів обчислювати, де необхідно поміщати реальні точки.

Векторну графіку часто називають об'єктно-орієнтованої чи креслярської графікою. Є ряд найпростіших об'єктів, або примітивів, наприклад: еліпс, прямокутник, лінія. Ці примітиви і їх комбінації використовуються для створення більш складних зображень. Якщо подивитися зміст файлу векторної графіки, виявляється схожість з програмою. Він може містити команди, схожі на слова, і дані в коді ASCII, тому векторний файл можна відредагувати за допомогою текстового редактора. Наведемо в умовному спрощеному вигляді команди, що описують коло:

об'єкт - коло;

центр - 50, 70; радіус - 40;

лінія: колір - чорний, товщина - 0.50;

заливка - ні.

Даний приклад показує основне достоїнство векторної графіки - опис об'єкта є простим і займає мало пам'яті. Для опису цієї ж кола засобами растрової графіки треба було б запам'ятати кожну окрему точку зображення, що зайняло б набагато більше пам'яті.

Крім того, векторна графіка в порівнянні з растровою має такі переваги:

  • простота масштабування зображення без погіршення його якості;

  • незалежність обсягу пам'яті, необхідної для зберігання зображення, від вибраної колірної моделі.

Недоліком векторної графіки є їх деяка штучність, яка полягає в тому, що будь-яке зображення необхідно розбити на кінцеве безліч складових його примітивів.

Розглянемо докладніше способи представлення різних об'єктів у векторній графіці.

Крапка. Цей об'єкт на площині представляється двома числами (х, у), що вказують його положення відносно початку координат.

Пряма лінія. Їй відповідає рівняння у = kx + b. Вказавши параметри k та b, завжди можна відобразити нескінченну пряму лінію у відомій системі координат, тобто для завдання прямий достатньо двох параметрів.

Відрізок прямої. Він відрізняється тим, що вимагає для опису ще двох параметрів - наприклад, координат x і y початку і кінця відрізка.

Крива другого порядку. До цього класу кривих відносяться параболи, гіперболи, еліпси, кола, тобто всі лінії, рівняння яких містять ступеня не вище другого. Крива другого порядку не має точок перегину. Прямі лінії є лише приватним випадком кривих другого порядку.

Крива третього порядку. Відмінність цих кривих від кривих другого порядку полягає в можливу наявність точки перегину. Наприклад графік функції у = х 3 має точку перегину на початку координат. Саме ця особливість дозволяє зробити криві третього порядку основою відображення природних об'єктів у векторній графіці. Наприклад лінії вигину людського тіла досить близькі до кривих третього порядку. Всі криві другого порядку, як і прямі, є окремими випадками кривих третього порядку.

Криві Безьє. Це особливий, спрощений вигляд кривих третього порядку (див. рис. 2). Метод побудови кривої Безьє (Bezier) заснований на використанні пари дотичних, проведених до відрізка лінії в її закінченнях. Відрізки кривих Безьє описуються вісьмома параметрами, тому працювати з ними зручніше. На форму лінії впливає кут нахилу дотичної та довжина її відрізка. Таким чином, дотичні відіграють роль віртуальних "важелів", за допомогою яких управляють кривої.

Рис. 2. Крива Безьє

Растрова і векторна графіка існують не відособлено один від одного. Так, векторні малюнки можуть включати в себе і растрові зображення. Крім того, векторні та Растрові зображення можуть бути перетворені одна в одну - в цьому випадку говорять про конвертації графічних файлів в інші формати. Досить просто виконується перетворення векторних зображенні в растрові. Не завжди можливо перетворення растрової графіки у векторну, так як для цього растрова картинка повинна містити лінії, які можуть бути ідентифіковані програмою конвертації (типу CorelTrace у складі пакету CorelDraw) як векторні примітиви. Це стосується, наприклад; високоякісних фотографій, коли кожен піксел відрізняється від сусідніх.

Роздільна здатність

Роздільна здатність - це кількість елементів в заданій області. Цей термін застосовний до багатьох понять, наприклад, таким як:

  • роздільна здатність графічного зображення;

  • роздільна здатність принтера як пристрої виведення;

  • роздільна здатність миші як пристрої введення.

Наприклад, роздільна здатність лазерного принтера може бути задана 300 dpi (dot per inche - точок на дюйм), що означає здатність принтера надрукувати на відрізку в один дюйм 300 окремих точок. У цьому випадку елементами зображення є лазерні точки, а розмір зображення вимірюється в дюймах.

Роздільна здатність графічного зображення вимірюється в пікселах па дюйм. Помстимося над, що піксел в комп'ютерному файлі не має певного розміру, так як хропе лише інформацію про свій колір. Фізичний розмір пікселів набуває при відображенні па конкретному пристрої виводу, наприклад, на моніторі або принтері.

Для екранної копії достатньо дозволу 72 dpi, для роздруківки на кольоровому або лазерному принтері 150-200 dpi, для виведення на фотоекспонірующем пристрої 200-300 dpi. Встановлено емпіричне правило, що при роздруківці величина дозволу оригіналу повинен бути в 1,5 рази більше, ніж лініатура растра пристрою виводу.

Дозвіл друкованого зображення і поняття лініатури. Розмір точки растрового зображення як на твердій копії (папір, плівка і так далі), так і на екрані залежить від застосованого методу та параметрів растрування оригіналу. При раструванні на оригінал як би накладається сітка ліній, комірки якої утворюють елемент растра. Частота сітки растра вимірюється числом ліній на дюйм і називається лініатура.

Роздільна здатність технічних пристроїв по-різному впливає на виведення векторної і растрової графіки.

Так, при виведенні векторного малюнка використовується максимальний дозвіл пристрою виводу. При цьому команди, що описують зображення, повідомляють пристрою виведення положення і розміри будь-якого об'єкта, а пристрій для його промальовування використовує максимально можливу кількість точок. Таким чином, векторним об'єкт, наприклад, окружність, роздрукована на принтерах різної якості, має па аркуші паперу однакові положення і розміри. Однак більш гладко окружність виглядає при друку па принтері з більшою роздільною здатністю, оскільки складається з більшої кількості точок принтера.

Значно більший вплив роздільна здатність пристрою виводу надає па висновок растрового малюнка. Якщо у файлі растрового зображення не визначено, скільки пікселів на дюйм повинно створювати пристрій виводу, то за замовчуванням для кожного пікселя використовується мінімальний розмір. У випадку лазерного принтера мінімальним елементом служить лазерна точка, в моніторі - вндеопіксел. Так як пристрої виведення відрізняються розмірами мінімального елемента, який може бути ними створений, то розмір растрового зображення при виводі на різних пристроях також буде неоднаковий.

Колірні моделі

Деякі предмети видимі тому, що випромінюють світло, а інші - тому, що його відбивають. Коли предмети випромінюють світло, вони набувають у нашому сприйнятті той цист, який бачить око людини. Коли предмети відбивають світло, то їх колір визначається кольором падаючого па них світла і кольором, який ці об'єкти відображають. Випромінюваний світ виходить з активного джерела, наприклад, екрану монітора. Відбите світло відбивається від поверхні об'єкта, наприклад, аркуша паперу.

Існують два методи опису кольору; система адитивних і субтрактівних квітів.

Система адитивних квітів працює з випромінюваним світлом. Адитивний колір виходить при об'єднанні трьох основних кольорів: червоного, зеленого і синього (Red, Green, Blue - RGB) При змішуванні їх в різних пропорціях виходить відповідний колір. Відсутність цих квітів представляє в системі чорний колір. Схематично змішання квітів показано на рис. 2, а.

а) адитивний колір б) Субтрактивний колір

Рис. 2. Система змішування кольорів

У системі субтрактівних квітів відбувається зворотний процес: який-небудь колір виходить вирахуванням інших квітів на загального променя світла. При цьому білий колір виходить в результаті відсутності всіх кольорів, а присутність всіх кольорів дасть чорний колір. Система субтрактнвних квітів працює з відбитим кольором, наприклад, від аркуша паперу. Білий папір відбиває всі кольори, пофарбована - деякі поглинає, решта відображає.

У системі субтрактнвіих квітів основними є блакитний, пурпурний і жовтий кольори (Cyan, Magenta, Yellow - CMY). Вони є додаткові червоному) ', зеленого і синього Коли ці кольори змішують на папері в рівній пропорції, виходить чорний Колір. Цей процес проілюстрований на рис. 2 б. У зв'язку з тим, що друкарські фарби не повністю поглинають світло, комбінація трьох основних кольорів виглядає темно-коричневою. Тому для коригування тонів і отримання істинно чорного кольору в принтери додають трохи чорної фарби. Системи квітів, засновані па такому принципі чотириколірного друку, позначають абревіатурою CMYK (Cyan, Magenta, Yellow, bl АСК).

Існують і інші системи кодування кольорів, наприклад, подання його у вигляді тону, насиченості і яскравості (Hue, Saturation, Brightness - HSB).

Тон представляє собою конкретний відтінок кольору, відмінний від інших: червоний, блакитний, зелений і т.п. Насиченість характеризує відносну інтенсивність кольору.

При зменшенні, наприклад, насиченості червоного кольору, він робиться більш пастельним або білуватими. Яскравість (або освітленість) кольору показує величину чорного відтінку, який додається до кольору, що робить його більш темним. Система HSB добре узгоджується з моделлю сприйняття кольору людиною. Тон є еквівалентом довжини хвилі світла, насиченість - інтенсивності хвилі, а яскравість - загальної кількості світла. Недоліком цієї системи є необхідність перетворення її в інші системи; RGB - при виведенні зображення на монітор; CMYK - при виведенні на чотириколірний принтер.

Розглянуті системи працюють з усім спектром кольорів - мільйонами можливих відтінків. Однак користувачеві часто достатньо не більше декількох сотень квітів. У цьому випадку зручно використовувати індексовані палітри - набори кольорів, що містять фіксовану кількість квітів, наприклад, 16 або 256, з яких можна вибрати потрібний колір. Перевагою таких палітр є те, що вони займають набагато менше пам'яті, ніж повні системи RGB і CMYK.

При роботі з зображенням комп'ютер створює палітру і привласнює кожному кольору номер, потім за умов згадування кольору окремого пікселя або об'єкта просто запам'ятовується номер, який має даний колір у палітрі. Для запам'ятовування числа від 1 до 16 необхідно 4 біти пам'яті, а від 1 до 256 - 8 біт, тому зображення, що мають 16 кольорів називають 4-бітовими, а 256 квітів - 8-бітовими. При порівнянні з 24 бітами, необхідними для зберігання повного кольору в системі RGB, або з 32 бітами - в системі CMYK, економія пам'яті очевидна.

При роботі з палітрою можна застосовувати будь-які кольори, наприклад, системи RGB, але обмежене їх кількість. Так, при використанні 256-колірної палітри в процесі її створення і нумерації кожен колір в палітрі описується як звичайний 24-бітовий колір системи RGB. А при посиланні на який-небудь колір вже вказується його номер, а не конкретні дані системи RGB, що описують цей колір.

Масштабування зображень

Масштабування полягає у зміні вертикального і горизонтального розмірів зображення. Масштабування може бути пропорційним - у цьому випадку співвідношення між висотою і шириною малюнка не змінюється, а змінюється загальний розмір, і непропорційним - в цьому випадку обидва вимірювання змінюються по-різному.

Масштабування векторних малюнків виконується просто і без втрати якості. Так як об'єкти векторної графіки створюються за їх описів, то для зміни масштабу векторного об'єкта, достатньо змінити його опис. Наприклад, щоб збільшити в два рази векторний об'єкт, слід подвоїти значення, що описує його розмір.

Масштабування растрових малюнків є набагато більш складним процесом, ніж для векторної графіки, і часто супроводжується втратою якості. При зміні розмірів растрового зображення виконується одна з наступних дій:

  • одночасна зміна розмірів всіх пікселів (у більшу чи меншу сторону);

  • додавання або зменшення пікселів з ​​малюнка для відображення вироблених в ньому зміну, зване вибіркою пікселів у зображенні.

Найпростіший спосіб зміни масштабу растрового малюнка полягає у зміні розміру всіх його пікселів. Так як в середині самого малюнка піксели не мають розміру і набувають його вже при виведенні на зовнішній пристрій, то зміна розміру пікселів растра в сильному ступені схоже на масштабування векторних об'єктів - необхідно змінити тільки опис пікселя, а інше виконає пристрій виводу.

Пристрій виводу для створення піксела певного фізичного розміру використовує стільки своїх мінімальних елементів (лазерних точок - для лазерного принтера, відеопікселов - для монітора), скільки зможе. При масштабуванні зображення кількість вхідних в нього пікселів не змінюється, а змінюється кількість створюваних пристроєм виведення елементів, що йдуть на побудову окремого піксела зображення. На рис. 3 показаний приклад масштабування растрового зображення - збільшення його в два рази по кожному виміру.

Рис. 3. Масштабування растрового зображення

Вибірка растрового малюнка може бути зроблено двома різними способами.

За першим способом просто дублюється плі видаляється необхідну кількість пікселів. При цьому в результаті масштабування, як правило, погіршується якість зображення. Наприклад, при збільшенні розміру малюнка зростають його зернистість і дискретність. При зменшенні розміру малюнка потерн в якості не настільки помітні, але при наступному відновленні зменшеного малюнка до колишнього розміру знову зростають зернистість і дискретність. Це пов'язано з тим, що при зменшенні розміру малюнка частина пікселів була видалена з вихідного зображення і втрачена безповоротно, а при подальшому відновленні розмірів малюнка відсутні пікселі дублювалися із сусідніх.

За другим способом за допомогою певних обчислень можна створити пікселі іншого кольору, що визначається квітами первісного піксела і його оточення. Цей метод називається інтерполяцією і є більш складним, ніж просте дублювання. При інтерполяції крім дубльованих пікселів, відбираються і сусідні з ними, за допомогою яких новостворювані пікселі отримують від існуючих усереднений колір або відтінок сірого. У результаті переходи між пікселями стають більш плавними, що дозволяє прибрати або зменшити ефект «пилкоподібну» зображення.

Стиснення зображень

Як і многая інформація, графіка може бути стиснута. Це нигодіо з точки іронія економії пам'яті комп'ютера, так як, наприклад, високоякісні зображення, як уже говорилося, мають розміри до декількох десятків мегабайтів. Для файлів графічних зображень розроблені безліч схем п алгоритмів стиснення, оспов-іимі з яких є наступні:

  • групове стиск;

  • кодування методом Хаффмана;

  • стискання за схемою LZW;

  • арифметичне стиснення:

  • стиснення з втратами;

  • перетворення кольорів RGB в кольори YUV.

В основі більшості схем стиску лежить використання одного з наступних властивостей графічних даних: надмірність, передбачуваність і необов'язковість. Зокрема, групове кодування (RLE) засновано на використанні першої властивості. Кодування за методом Хаффмана і арифметичне кодування, засновані на статистичній моделі, використовують передбачуваність, пропонуючи більш короткі коди для більш часто зустрічаються пікселів. Алгоритми стискування з втратами засновані на надмірності даних.

Слід врахувати, що алгоритм, що забезпечує велику ступінь стиснення, зазвичай більш складний і тому вимагає для розпакування даних більше процесорного часу.

Розглянемо докладніше кілька алгоритмів стиснення.

Групове стиск

Групове стиснення являє собою одну найпростіших схем стиску файлів. Суть його полягає в тому, що серія повторюваних величин замінюється єдиною величиною і його кількістю. На прикладі можна помітити вигоду в довжині між «aabbbbbbbcdddeeeeaaa» і «2а7 b 1c3d4e3a». Даний алгоритм простий в реалізації і добре стискає графічні файли з великими однотонними областями. Групове кодування використовується в багатьох форматах растрових файлів, таких як TIFF, PCX і т.д.

Кодування методом Хаффмана

Сенс методу Хаффмана полягає в заміні даних ефективнішими кодами. Більш короткі коди використовуються для заміни більш часто з'являються величі. Наприклад у вираженні abbbeceddeeeeeeeeef є шість унікальних величин, з частотами появи: а: 1, b: 3, c: 3, d: 2, e: 9, f: l. Для утворення мінімального коду використовується двійкове дерево. Алгоритм об'єднує в пари елементи, що з'являються найменш часто, потім пара об'єднується в один елемент, а їх частоти об'єднуються. Ця дія повторюється до тих пір, поки елементи не об'єднаються в пари. У даному прикладі треба об'єднати а і f - це перша пара, а присвоюється нульова гілку, af - 1-я. Це означає, що 0 і 1 будуть молодшими бітами кодів для а і f відповідно. Більш старші біти будуть отримані з Дерена у міру його побудови.

Підсумовування частот дає в результаті 2. Тепер найнижча частота - 2, тому пара а і f, об'єднується з d (яка теж має частоту 2). Вихідною парі присвоюється нульова гілку, а d - гілка 1. Таким чином, код для а закінчується на 00; для f на 01, d закінчується на 1 і буде на один біт коротший порівняно з кодами для а і f.

Дерево продовжує будуватися подібним чином так, що найменш розповсюджені величини описуються більш довгими кодами. Дане кодування потребує точної статистики, яке виражається в тому, як часто кожна величина з'являється у файлі. Отже, для роботи за схемою Хаффмана необхідно два етапи - на першому етапі створиться статистична модель, на другому кодуються дані. Слід зазначити, що компресія і декомпресія, по Хаффману, - досить повільний процес.

Стиснення з втратами JPEG

Алгоритм стиснення JPEG (Joint Photographic Experts Group) (читається ['jei' peg]) дозволяє регулювати співвідношення між ступенем стиснення файлу і якістю зображення. Застосовувані методи стиснення засновані на видаленні «надлишкової» інформації.

Алгоритм стиснення оперує областями 8x8 пікселів, на яких яскравість і колір змінюються порівняно плавно. Внаслідок цього, при розкладанні матриці такої області в подвійний ряд по косинусам значущими виявляються тільки перші коефіцієнти. Таким чином, стиснення у JPEG здійснюється за рахунок плавності зміни кольорів у зображенні. У цілому алгоритм заснований па дискретному косінусоідальное перетворенні, що застосовується до матриці зображення для отримання деякої повой матриці коефіцієнтів. Для отримання вихідного зображення застосовується зворотне перетворення. Алгоритм розкладає зображення по амплітудам деяких частот. Таким чином, при перетворенні ми отримуємо матрицю, в якій багато коефіцієнти або близькі, або рівні нулю. Крім того, завдяки недосконалості людського зору, можна апроксимувати коефіцієнти більш грубо без помітної втрати якості зображення.

Істотними позитивними сторонами алгоритму є те, що:

  • Задається ступінь стиснення.

  • Вихідна кольорове зображення може мати 24 біта на точку.

Негативними сторонами алгоритму є те, що:

  • При підвищенні ступеня стиску зображення розпадається на окремі квадрати (8x8).

  • Виявляється ефект Гіббса - ореоли по межах різких переходів кольорів.

Формати графічних файлів

У комп'ютерній графіці застосовують щонайменше три десятки форматів файлів для зберігання зображень. Але лише частина з них стала стандартом «де-факто» і застосовується у переважній більшості програм.

Коротка інформація про основні графічних форматах файлів приведено в таблиці.

Типи графічних файлів

Назва

Тип

Використання

Фірма

Розширення

BMP (Windows BitMap)

Растровий

Збереження і відображення інформації у середовищі Windows.

Microsoft

bmp

GIF (Graphics Inter-change Format)

Растровий

Передача даних в мережі Internet

CompuServe Inc.

gif

PNG (Portable Network Graphics)

Растровий

Передача даних в мережі Internet

CompuServe Inc.

png

PCX (PC Paintbrush File Format)

Растровий

У графічних редакторах

Zsoft Corp.

pcx

JPEG (Joint Photographic Experts Group)

Растровий

Для фотографічної інформації

Joint Photographic Experts Group

jpg

TIFF (Tagged Image File Format)

Растровий

Обмін даними між настільними і видавничими системами

Aldus Corp.

tif

DXF (Drawing Interchange Format)

Векторний

Обмін кресленнями і даними САПР

Autodesk nc.

dxf

CDR (Corel Drawing)

Векторний

Креслярська, видавнича та інші види графіки

Corel

cdr

WMF (Windows MetaFile)

Векторний

Збереження і відображення інформації в середовищі Windows

Microsoft

wmf

Розглянемо структуру файлів зображень типу BMP і TIFF, які отримали найбільш широке поширення на практиці.

BMP: Windows Device Independent Bitmap

BMP (апаратно-незалежне побітове зображення Windows) підтримується будь-якими Windows-сумісними програмами. Структура файлу BMP використовується Windows для зберігання растрових зображень. У цьому форматі зберігаються зображення тла, піктограми та інші растрові зображення Windows. Цей формат зводить до мінімуму ймовірність помилок або неправильної інтерпретації растрових даних.

Формат BMP правильно відображає дані незалежно від апаратних і програмних пристроїв (монітора комп'ютера, відеокарти і драйвера дисплея). Така незалежність від пристроїв забезпечується застосуванням системних палітр. Однак даний формат має і свої недоліки. Тільки версії формату з 4 - і 8-бітовим кольором піддаються стисненню (до них можна застосувати метод стиснення RLE), отже, 24-бітові файли BMP будуть дуже великими. Крім того, застосування файлів ВМР обмежено платформою Windows.

JPEG (Joint Photographic Experts Group). Формат призначений для зберігання растрових зображень (розширення імені файлу JPG). Застосовується в основному для зберігання фотографій. При великій мірі стиснення на зображенні з'являються ореоли з навколо елементів з різкими переходами кольору, тому формат не рекомендують використовувати для зберігання схем, графіків, логотипів та ін

GIF (Graphics Interchange Format). Стандартизований в 1987 році як засіб збереження стиснутих зображень з фіксованим (256) кількістю кольорів (розширення імені файлу. GIF). Отримав популярність в Інтернеті завдяки високому ступеню стиснення без втрати якості. Остання версія формату GIF 89 a дозволяє виконувати чересстрочную завантаження зображень і створювати малюнки з прозорим фоном. Обмежені можливості за кількістю кольорів обумовлюють його застосування винятково в електронних публікаціях (схеми, графіки, логотипи, рекламні банери та інші нескладні зображення, що мають різкі переходи в тонах зображення).

PNG (Portable Network Graphics). Порівняно новий (1995 рік) формат зберігання зображень для їх публікації в Інтернеті (розширення імені файла.PNG). Підтримуються три типи зображень - кольорові з глибиною 8 або 24 біти і чорно-біле з градацією 256 відтінків сірого. Стиснення інформації відбувається без втрат якості. Має перевагу перед GIF форматом в більшій глибині кольору. При зберіганні фотографій PNG формат програє формату JPEG у розмірах файлу.

TIFF (Tagget Image File Format). Формат призначений для зберігання растрових зображень високої якості (розширення імені файлу JIF). Відносяться до числа широко розповсюджених, відрізняється переносимістю між платформами (IBM PC та Apple Macintosh), забезпечений підтримкою з боку більшості графічних, верстальний і дизайнерських програм. Формат TIFF зберігає безліч даних зображення в помічених полях, що й визначило його назву («Формат файлу позначеного зображення»). Кожне позначене поле зберігає інформацію про растровому малюнку або посилання на інші поля. Програма, що читає файл, може пропускати невідомі або непотрібні їй поля. Ця багатогранність дозволяє формату знаходити застосування в різних комп'ютерних системах. Крім того, формат TIFF може зберігати різноманітні додаткові дані про растровому малюнку, включаючи: криву корекції для зображення з відтінками сірого; поля детальної інформації про зображення (назва програми, автора, дату створення та коментарі); розмір зображення і роздільну здатність; детальну інформацію про кольорі оригіналу.

Більшість програм, які читають файл TIFF, здатні без проблем прочитати файли цього формату, створені на інших системах. Структура формату TIFF мінлива, що дозволяє йому зберігати різноманітні типи зображень.

Файли цього формату здатні зберігати піксельні дані, стиснуті з допомогою різноманітних схем, наприклад, кодуванням за методом Хаффмана.

PSD (PhotoShop Document). Власний формат програми Adob Pnotoshop (розширення імені файла.PSD), один з найбільш потужних за можливостями зберігання растрової графічної інформації. Дозволяє запам'ятовувати параметри шарів, каналів, міри прозорості, множини масок. Підтримуються 48-розрядне кодування кольору, кольороподіл і різні колірні моделі. Основний недолік виражений у тому, що відсутність ефективного алгоритму стискання інформації приводить до великого обсягу файлів.

PCX. Формат з'явився як формат зберігання растрових даних програми PC PaintBrush фірми Z-Soft і є одним з найбільш поширених (розширення імені файла.PCX). Відсутність можливості зберігати кольороподілені зображення, недостатність колірних моделей та інші обмеження призвели до втрати популярності формату. В даний час вважається застарілим.

WMF (Windows MetaFile). Формат зберігання векторних зображень операційної системи Windows (розширення імені файла.WMF). За визначенням підтримується всіма додатками цієї системи. Однак відсутність засобів для роботи зі стандартизованими палітрами колірними, прийнятими в поліграфії, і інші недоліки обмежують його застосування.

EPS (Encapsulated PostScript). Формат опису як векторних, так і растрових зображень на мові PostScript фірми Adobe, фактичному стандарті в області додрукарських процесів і поліграфії (розширення імені файлу. EPS). Так як мова PostScript є універсальним, у файлі можуть одночасно зберігатися векторна і растрова графіка, шрифти, контури обтравки (маски), параметри калібрування обладнання, колірні профілі. Для відображення на екрані векторного вмісту використовується формат WMF, а растрового - TIFF. Але екранна копія тільки в загальних рисах відображає реальне зображення, що є істотним недоліком EPS. Дійсне зображення можна побачити лише на виході вивідного пристрою, за допомогою спеціальних програм перегляду або після перетворення файлу в формат PDFv додатках Acrobat Reader, Acrobat Exchange.

PDF (Portable Document Format). Формат опису документів, розроблений фірмою Adobe (розширення імені файла.PDF). Хоча цей формат в основному призначений для зберігання документа цілком, його вражаючі можливості дозволяють забезпечити ефективне представлення зображень. Формат є апаратно незалежним, тому висновок зображень допустимо на будь-яких пристроях - від екрану монітора до фотоекспонірующего пристрою. Потужний алгоритм стискання з засобами управління підсумковим роздільною здатністю зображення забезпечує компактність файлів при високій якості ілюстрацій.

Основні поняття тривимірної графіки

Тривимірна графіка знайшла широке застосування в таких областях, як наукові розрахунки, інженерне проектування, комп'ютерне моделювання фізичних об'єктів. В якості прикладу розглянемо найбільш складний варіант тривимірного моделювання - створення рухомого зображення реального фізичного тіла.

У спрощеному вигляді для просторового моделювання об'єкта потрібно:

спроектувати та створити віртуальний каркас («скелет») об'єкта, найбільш повно відповідає його реальній формі;

спроектувати і створити віртуальні матеріали, за фізичними властивостями візуалізації схожі на реальні;

привласнити матеріали різних частин поверхні об'єкта (на професійному жаргоні - «спроектувати текстури на об'єкт»);

налаштувати фізичні параметри простору, в якому буде діяти об'єкт,

задати освітлення, гравітацію, властивості атмосфери, властивості взаємодіючих об'єктів і поверхонь;

задати траєкторії руху об'єктів;

розрахувати результуючу послідовність кадрів;

накласти поверхневі ефекти на підсумковий анімаційний ролик.

Для створення реалістичної моделі об'єкта використовують геометричні примітиви (прямокутник, куб, куля, конус та інші) і гладкі, так звані сплайнів поверхні. Вид поверхні при цьому визначається розташованої в просторі сіткою опорних точок. Кожній точці присвоюється коефіцієнт, величина якого визначає ступінь її впливу на частину поверхні, що проходить поблизу точки. Від взаємного розташування точок і величини коефіцієнтів залежить форма і «гладкість» поверхні в цілому. Спеціальний інструментарій, який дозволяє обробляти примітиви, які є об'єктом, як єдине ціле, з урахуванням їх взаємодії на основі заданої фізичної моделі.

Деформація об'єкта забезпечується переміщенням контрольних точок, розташованих поблизу. Кожна контрольна точка пов'язана з прилеглими опорними точками, ступінь її впливу на них визначається віддаленістю. Інший метод називають сіткою деформації. Навколо об'єкта або його частини розміщується тривимірна сітка, переміщення будь-якої точки якої викликає пружну деформацію як самої сітки, так і оточеного об'єкта.

Ще одним способом побудови об'єктів з примітивів служить твердотільне моделювання. Об'єкти представлені твердими тілами, які при взаємодії з іншими тілами різними способами (об'єднання, віднімання, злиття та інші) зазнають необхідну трансформацію. Наприклад, віднімання з прямокутного паралелепіпеда кулі приведе до утворення в паралелепіпеді напівкруглої лунки.

Після формування «скелета» об'єкта необхідно покрити його поверхню матеріалами. Все різноманіття властивостей в комп'ютерному моделюванні зводиться до візуалізації поверхні, тобто до розрахунку коефіцієнта прозорості поверхні і кута заломлення променів світла на межі матеріалу і навколишнього простору. Для побудови поверхонь матеріалів використовують п'ять основних фізичних моделей:

поверхні з дифузним відображенням без відблисків (наприклад, матовий пластик);

поверхні зі структурованими мікронерівностями (наприклад, металеві);

поверхні зі спеціальним розподілом мікронерівностей з урахуванням взаємних перекриттів (наприклад, глянець);

модель, що дозволяє додатково враховувати поляризацію світла;

модель, що дозволяє коригувати напрями відображення і параметри заломлення світла.

Зафарбування поверхонь здійснюється методами Гуро (Gouraud) або Фонга (Phong). У першому випадку колір примітиву розраховується лише в його вершинах, а потім лінійно інтерполюється по поверхні. У другому випадку будується нормаль до об'єкту в цілому, її вектор інтерполюється по поверхні складових примітивів і освітлення розраховується для кожної точки.

Світло, що йде з поверхні в конкретній точці в бік спостерігача, представляє собою суму компонентів, помножених на коефіцієнт, пов'язаний з матеріалом і кольором поверхні в даній точці. До таких компонентів належать:

світло, що прийшло із зворотного боку поверхні, тобто переломлений світло;

світло, рівномірно розсіюється поверхнею;

дзеркально відбите світло;

відблиски, тобто відбите світло джерел;

власне світіння поверхні.

Властивості поверхні описуються в створюваних масивах текстур (дво-або тривимірних). Таким чином, у масиві містяться дані про ступінь прозорості матеріалу; коефіцієнті заломлення; коефіцієнти зміщення компонентів (їх список вказана вище); кольорі в кожній точці, кольорі відблиску, його ширини і різкості; кольорі розсіяного (фонового) освітлення; локальних відхиленнях векторів від нормалі (тобто, враховується шорсткість поверхні).

Наступним етапом є накладення («проектування») текстур на певні ділянки каркаса об'єкта. При цьому необхідно враховувати їх взаємний вплив на кордонах примітивів. Проектування матеріалів на об'єкт - завдання важко формалізуються, вона схожа на художньому процесу і вимагає від виконавця хоча б мінімальних творчих здібностей.

З усіх параметрів простору, в якому діє створюваний об'єкт, з точки зору візуалізації найважливішим є визначення джерел світла. У тривимірній графіці прийнято використовувати віртуальні еквіваленти фізичних джерел.

Аналогом рівномірного світлового фону служить так званий розчинений світло (Ambient Light). Він не має геометричних параметрів і характеризується тільки кольором та інтенсивністю. Приклад в природі - природна освітленість поза видимості Сонця і Місяця.

Віддалений не точковий джерело званий віддаленим світлом (Distant Light). Йому присвоюються конкретні геометричні параметри (координати). Аналог у природі - сонце.

Точкове джерело світла (Point Light Source) рівномірно випромінює світло во. всіх напрямках і також має координати. Аналог у техніці - електрична лампочка.

Спрямований джерело світла (Direct Light Source) крім місця розташування характеризується напрямком світлового потоку, кутами розчину повного конуса світла і його найбільш яскравої плями. Аналог у техніці - прожектор.

Після завершення конструювання та візуалізації об'єкта приступають до його «пожвавлення», тобто завданням параметрів руху. Комп'ютерна анімація базується на ключових кадрах. У першому кадрі об'єкт виставляється у вихідне положення. Через певний проміжок (наприклад, у восьмому кадрі) задається нове положення об'єкту і так далі до кінцевого положення. Проміжні значення обчислює програма за спеціальним алгоритмом. При цьому відбувається не просто лінійна апроксимація, а плавну зміну положення опорних точок об'єкта відповідно до заданих умов.

Ці умови визначаються ієрархією об'єктів (тобто законами їх взаємодії між собою), дозволеними площинами руху, граничними кутами поворотів, величинами прискорень і швидкостей. Такий підхід називають методом інверсної кінематики руху. Він добре працює при моделюванні механічних пристроїв. У випадку з імітацією живих об'єктів використовують так звані скелетні моделі. Тобто, створюється якийсь каркас, рухливий у точках, характерних для модельованого об'єкта. Рухи точок прораховуються попереднім методом. Потім на каркас накладається оболонка, що складається з змодельованих поверхонь, для яких каркас є набором контрольних точок, тобто створюється каркасна модель. Каркасна модель візуалізується накладенням поверхневих текстур з урахуванням умов освітлення. У ході переміщення об'єкта виходить вельми правдоподібна імітація рухів живих істот.

Найбільш досконалий метод анімації полягає у фіксації реальних рухів фізичного об'єкта. Наприклад, на людині закріплюють у контрольних точках яскраві джерела світла і знімають заданий рух на відео-або кіноплівку. Потім координати точок з кадрів переводять з плівки в комп'ютер і привласнюють відповідних опорних точок каркасною моделі. У результаті руху імітованого об'єкта практично не відрізняються від живого прототипу.

Процес розрахунку реалістичних зображень називається рендеринга (візуалізацією). Більшість довременного програм візуалізації засновані на методі зворотного трасування променів (Backway Ray Tracing). Його суть полягає в наступному.

1. З точки спостереження сцени посилається в простір віртуальний промінь, по траєкторії якого повинне прийти зображення в точку спостереження.

2. Для визначення параметрів приходить променя всі об'єкти сцени перевіряються на перетин з траєкторією спостереження. Якщо перетину не відбувається, вважається, що промінь потрапив в фон сцени і приходить інформація визначається лише параметрами фону. Якщо траєкторія перетинається з об'єктом, то в точці дотику розраховується світло, що йде в точку спостереження відповідно до параметрів матеріалу.

3. Спочатку прораховується переломлений і відбите світло, потім перевіряється видимість з точки перетину всіх джерел світла та інтенсивність світлового потоку. Також обчислюються наявність, різкість і ширина відблисків від кожного джерела світла.

4. Отримані в результаті підсумкові значення кольору і інтенсивності обробляються з урахуванням траєкторії променя і параметрів атмосфери, і присвоюються точці об'єкту як значення візуалізації для спостерігача. Потім процес повторюється для всіх елементів сцени. З метою спрощення розрахунків перетин перевіряють не для кожної точки, а для примітиву в цілому. Іноді навколо об'єкта створюють просту віртуальну геометричну фігуру (паралелепіпед, куля), розрахунок перетинів для об'єкта виконують тільки при перетині траєкторії спостереження з фігурою в цілому.

Застосування складних математичних моделей дозволяє імітувати такі фізичні ефекти, як вибухи, дощ, вогонь, дим, туман. Проте їх застосування в повному обсязі вимагає величезних обчислювальних ресурсів, і тому в персональних комп'ютерах зазвичай використовують спрощені варіанти. По завершенні рендеринга комп'ютерну тривимірну анімацію використовують або як самостійний продукт, або як окремих частин або кадрів готового продукту.

Особливу область тривимірного моделіровааіяв режимі реального часу складають тренажери технічних засобів - автомобілів, судів, літальних і космічних апаратів. У них необхідно дуже точно реалізовувати технічні параметри об'єктів і властивості навколишнього фізичного середовища. У простіших варіантах, наприклад при навчанні водінню наземних транспортних засобів, тренажери реалізують на персональних комп'ютерах.

Найдосконаліші на сьогоднішній день пристрої створені для навчання пілотування космічних кораблів і військових літальних апаратів. Моделюванням і візуалізацією об'єктів в таких тренажерах зайняті кілька спеціалізованих графічних станцій, побудованих на потужних процесорах і швидкісних відеоадаптерах з апаратними прискорювачами тривимірної графіки.

Додати в блог або на сайт

Цей текст може містити помилки.

Програмування, комп'ютери, інформатика і кібернетика | Контрольна робота
144.9кб. | скачати


Схожі роботи:
Комп ютерна графіка
Комп`ютерна графіка 2
Комп`ютерна графіка 3
Комп ютерна графіка 2
Комп`ютерна графіка OpenGL
Тривимірна комп`ютерна графіка
Комп`ютерна графіка VISIO
Комп`ютерна графіка і вирішуються нею завдання
Комп`ютерна злочинність і комп`ютерна безпека
© Усі права захищені
написати до нас